[#import "/framework/JGP.htm"  as JGP]
<!--
项目   jgp-cloud-parent
作者   LOUFEI [Gavin]
时间   2019/1/7
-->
[@JGP.head "自定义病假流程表单"/]
[@JGP.body]
    [#--
        一、 _mode 流程工具模式
        创建申请 mode设置为 save
        流程中流转 mode设置为 proc
        三、_has_remark 是否需要审批意见
        四、流程变量设置 _get_variables，_get_variables_async 只能二选一
        _get_variables 同步获取流程变量
        _get_variables_async 异步获取流程变量
    --]
    <jgp-proc-operator _mode="proc" _has_remark="true"
                       _disabed="${editFlag?string('false','true')}"
                       _pass_before_callback="passBeforeCallbackFn" ></jgp-proc-operator>

page2
[/@JGP.body]

[@JGP.foot]
    <script>
        //异步执行函数 需要promise异步处理结果
        //保存成功返回businessKey业务ID args.back.promise.resolve({businessKey:'abc'})
        //保存失败 args.back.promise.reject()
        function saveFn(args){
            /**
             *  模拟异步请求
             *  JGP.post(url,{},function(result){
             *      if(result.flag){
             *          args.back.promise.resolve({businessKey:'abc'})
             *      }else{
             *          args.back.promise.reject();
             *      }
             *  })
             *
             */
            setTimeout(function(){
                args.back.promise.resolve({businessKey:'abc'})
            },1000)
            //args.back.promise.reject();
        }
        //异步获取并设置流程变量 _get_variables_async
        //同步获取并设置流程变量 _get_variables
        //异步成功 设置流程变量 args.back.promise.resolve(jsonVariables);
        //异步失败 args.back.promise.reject();
        //同步 return jsonVariables;
        function getVariablesFn(args){

            /**
             *  模拟异步请求
             *  JGP.post(url,{},function(result){
             *      if(result.flag){
             *          var jsonVariables = result.xxx;
             *          args.back.promise.resolve(jsonVariables);
             *      }else{
             *          args.back.promise.reject();
             *      }
             *  })
             *  var jsonVariables = {a:1};
             *  非异步直接返回 return jsonVariables;
             *
             */

            //args.back.promise.reject();
            var jsonVariables = {a:1};
            args.back.promise.resolve(jsonVariables);
        }

        function passBeforeCallbackFn(args) {
            args.back.promise.resolve({
                flagCus:'1'
            });
        }

        JGP.$onload(function () {
            JGP.Socket.connect('/',function (res) {
                console.log(res);
                JGP.Socket.subscribeTopic('/test',function(msg){
                    console.log('msg::',msg)
                })
            })
        });
        function playAudio(src,callback){
            JGP.$openAlert({
                title: "xxx事件",
                type: 'warn', //warn error info
                autoHideTime: 1,
                mask:false,
                tools: [{
                    title: '确定',
                    fn: function () {

                    },
                    icon: 'check'
                }, {
                    title: '取消',
                    fn: function () {

                    },
                    icon: 'close'
                }],
                content: '提示内容'
            })
        }
    </script>
[/@JGP.foot]